Some mobile robots (or similar mobile entities) collect data to map their movement paths. When mapping its path, if a mobile robot encounters the same location that it has encountered before, that is, “closes a loop,” there generally needs to be a map correction; (note that any of a number of known ways may be used to detect loop closure). This is because sensing using wheel odometers or other techniques such as camera-based sensing of image features are imperfect. For example, wheel slippage or image processing errors or the like cause drifting that accumulates and makes the collected data incorrect.
In general, this problem is referred to as the loop closure problem in “simultaneous localization and mapping” (SLAM), or “PoseSLAM” when using only constraints between robot poses (as opposed to also using landmark positions). There is a similar problem in computer vision, in three dimensions, referred to as bundle adjustment.
Most approaches treat the loop closure problem as nonlinear least squares, leading to complicated solutions that require sparse linear algebra packages and are limited in the map size they can handle. Other approaches minimize an objective function directly, but doing so requires a significant number of iterations, which makes such solutions computationally expensive.